package com.atguigu.system.service;

import com.atguigu.model.system.SysRole;
import com.atguigu.model.vo.AssginRoleVo;
import com.atguigu.model.vo.SysRoleQueryVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 角色 服务类
 * </p>
 *
 * @author lemon
 * @since 2023-01-22
 */
public interface SysRoleService extends IService<SysRole> {

    // 逻辑删除角色接口
    void remove(Long id);

    // 查询全部的列表
    List<SysRole> findAll();

    // 条件分页查询
    IPage<SysRole> selectPage(Page<SysRole> pageParam, SysRoleQueryVo sysRoleQueryVo);

    // 根据用户获取角色数据
    Map<String, Object> getRolesByUserId(Long userId);

    // 根据用户分配角色
    void doAssign(AssginRoleVo assginRoleVo);
}
